package cn.me.alphamq.common.util;

/**
 * 计算延迟时间的工具类
 *
 * @author f
 */
public class DelayTimeUtil {

    /**
     * 每秒有 1000 毫秒
     */
    private static final long MILLISECOND_PRE_SECOND = 1000;

    /**
     * 获取延迟时间
     *
     * @param executeTime 处理时间，单位：时间戳
     * @return 延迟时间
     */
    public static int getDelayTime(long executeTime) {
        return (int) Math.ceil((double) (executeTime - System.currentTimeMillis()) / MILLISECOND_PRE_SECOND);
    }


    /**
     * 获取处理时间
     *
     * @param delayTime 延迟时间，单位：s
     * @return 处理时间
     */
    public static long getExecuteTime(int delayTime) {
        return System.currentTimeMillis() + delayTime * MILLISECOND_PRE_SECOND;
    }
}
